#ifndef __APPCONFIG_H__
#define __APPCONFIG_H__
#include "esp_common.h"
#include "stdio.h"


enum pro_evt_def
{
	PRO_EVT_KEY = (1<<0),//按键强制更新
	PRO_EVT_RTC = (1<<1),//RTC定时查询
	PRO_EVT_REG = (1<<2),//注册
	PRO_EVT_ASK = (1<<3),//查询
	PRO_EVT_UAT = (1<<4),//修改查询周期报文
	PRO_EVT_URL = (1<<5),//更新url
	PRO_EVT_UPA = (1<<6),//更新固件
};
	
#define TCP_CONNECT_BNUM    700 //TCP链接固定字节
#define TCP_FIX_BNUM				46  //TCP协议固定字节，用于流量统计
#define GPRS_RSEND_MAX      2   //gprs重发次数
//#define STM32F10X_MD
#define USING_PowerManage  //使用电源控制
//#define USING_DEBUG_SERVER //如果定义了调试服务器
#define USEING_DEBUG_PCB //使用产品调试板
#define USEING_NET_CRC16
//#define RemovDebugCode //删除调试代码
//#define USEING_DEBUG_POWER  //电源调试信息
#define USEING_DEBUG_GPRS   //GPRS调试信息

#define GSM_START_ERR_MAX  2 //gsm启动错误最大次数
#define PROCESS_ERR_MAX    10 //处理事件错误的最大次数，根据次数递增休眠时间
#define ERR_SLEEP_CYCLE	   30 //事件处理后递增睡眠周期
//#define GPRS_RSEND_MAX		 1//gprs数据重发最大重发次数

#define KEY_GPIO_PIN   10 //更新按键的gpio编号
#define GSM_POWR_PIN	 38 //gsm电源引脚
#define GSM_SW_PIN		 29 //gsm开关引脚
#define LCD_POWR_PIN	 25 //LCD电源控制脚

//eeprom addr manage
#define EEPROM_DEVINFO_ADDR	  0 //设备参数存储地址
#define EEPROM_PIC1_ADDR      (1024*1)//ID图片
#define EEPROM_PIC0_ADDR   		(EEPROM_PIC1_ADDR+4*1024)//图片存储地址

#define RTC_ALARM_WAKEUP_TIME (3621)//rtc睡眠时间s
#define UPDATE_CYCLIE_MIN     (60)  //更新周期最小多少秒

#define ELS_PIC_BUF_SIZE      (4*1024+128) //图片buf大小

#define RTC_USEADDR1          64//RTC更新值
#define RTC_USEADDR2          65//失败次数
#define RTC_USEADDR3          66//运行次数
#define RTC_USEADDR4          67 //用于保存剩余唤醒次数的
#define RTC_USEADDR5          68 //用户保存当前睡眠时间
#define RTC_USEADDR6          69 //系统事件标志

#define SILENT_MODE_VALUE			(3600*24*365*2)//静默模式
#define EPS_MAX_DEELP_SLEEP   (71*60)//71分钟必须起来一次

#define PRODUCT_ID						3 //2.13 WIFI  黑白

#define RLINK_AP_MAX_NUM			300 //200/20=10次
#define NO_AP_MAX_NUM					6   //没有AP最大数量 4秒

//#define UpgradFormatFileSys			//开启后升级后格式化文件系统
#define Upgrad_NONE_CRC						//更新固件不使用crc校验

//#define USING_SEC_MODE						//使用秒更新极速模式,这种模式设备不休眠一直运行
//#define USING_DEBUG_SERVER    //使用测试服务器




#define OS_ASSERT(EX)                                                         \
if (!(EX))                                                                    \
{                                                                             \
    printf("Pointer Is Null %s %d\n\r",__FUNCTION__, __LINE__);                \
    while(1);                                                                 \
}

//#define printf(...)    

#endif
